////////////////////////////////////////////////////////////////////////////////
// Copyright 2006 CORE Solutions Limited
// All rights reserved.
// PROPRIETARY AND CONFIDENTIAL INFORMATION.
// Use is subject to license terms.
//
// FUNCTION ID      :
// AUTHOR           :
// DATE CREATE      :
// DESCRIPTION      :
//                  :
//                  :
//                  :
//
// MODIFICATION HISTORY:
// DATE         AUTHOR          VERSION NO.         COMMENT
// -----------  --------------  ------------------  ----------------------------
// 2006/04/25   Ric Yik         1.0                 BugZilla #5496: Date Format
// 2006/04/26   Ric Yik         1.0                 BugZilla #5535
// 2006/05/09   Ric Yik         1.0                 BugZilla #5635
// 2006/05/30   Ric Yik         1.0                 BugZilla #5496: Date Format
// 2006/07/31   Jerry Chen      1.0                 BugZilla #6493: Date Format
////////////////////////////////////////////////////////////////////////////////

package com.erp.framework;

import java.util.Locale;
import java.util.TimeZone;

public interface SimpleConstants {

	//following class is copied from ANCO, and no code change needed in Charming.
	public static class DateFormats {

		public static String INPUT_DATE_FORMAT = SimpleConstants.INPUT_DATE_FORMAT;
		public static String INPUT_DATE_FORMAT_2 = SimpleConstants.INPUT_DATE_FORMAT_2;
		public static String INPUT_DATETIME_FORMAT = SimpleConstants.INPUT_DATETIME_FORMAT;

		public static String OUTPUT_DATE_FORMAT = SimpleConstants.OUTPUT_DATE_FORMAT;
		public static String OUTPUT_DATETIME_FORMAT = SimpleConstants.OUTPUT_DATETIME_FORMAT;
		public static String OUTPUT_DATE_LONG_FORMAT = "MMM dd, yyyy";
		public static String OUTPUT_DATE_YMD_WITH_BIAS_FORMAT = "yyyy/MM/dd";
		public static String OUTPUT_DATE_MDY_WITH_BIAS_FOMAT = "MM/dd/yyyy";

		public static String ORACLE_INPUT_DATE_FORMAT = SimpleConstants.ORACLE_INPUT_DATE_FORMAT;
		public static String ORACLE_INPUT_DATETIME_FORMAT = SimpleConstants.ORACLE_INPUT_DATETIME_FORMAT;
		public static String ORACLE_MONTHYEAR_DATE_FORMAT = SimpleConstants.ORACLE_MONTHYEAR_DATE_FORMAT;

		public static String RPT_DATE_FORMAT = SimpleConstants.RPT_DATE_FORMAT;

		public static String ACCT_DATE_FORMAT = "MMddyyyy";
		public static String INPUT_MONTHYEAR_FORMAT = SimpleConstants.INPUT_MONTHYEAR_FORMAT;
		public static String OUTPUT_MONTHYEAR_FORMAT = SimpleConstants.OUTPUT_MONTHYEAR_FORMAT;
		public static String YEAR_FORMAT = SimpleConstants.YEAR_FORMAT;
		public static String MTH_FORMAT = SimpleConstants.MTH_FORMAT;
		public static String DAY_FORMAT = SimpleConstants.DAY_FORMAT;

		public static String WEB_DATE_FORMAT_LABEL = "(MM/DD/YYYY)";
	    public static String WEB_DATETIME_FORMAT_LABEL = "(MM/DD/YYYY HH:MM)";

		public static String TIMEZONE = SimpleConstants.TIMEZONE;

		public static Locale DEFAULT_LOCALE = Locale.US;
		public static TimeZone DEFAULT_TIMEZONE = null;

    }

    //following class is copied from ANCO, and no code change needed in Charming.
	public static class NumberFormats {

		public static int VALIDATE_AMOUNT_LENGTH = 17;
		public static int VALIDATE_AMOUNT_PRECISION = 2;
		public static int VALIDATE_MEASUREMENT_LENGTH = 17;
		public static int VALIDATE_MEASUREMENT_PRECISION = 2;
		public static int VALIDATE_PRICE_LENGTH = 17;
		public static int VALIDATE_PRICE_PRECISION = 2;
		public static int VALIDATE_PERCENT_LENGTH = 17;
		public static int VALIDATE_PERCENT_PRECISION = 2;
		public static int VALIDATE_DECIMAL_LENGTH = 17;
		public static int VALIDATE_DECIMAL_PRECISION = 2;
		public static int VALIDATE_INTEGER_LENGTH = 17;
		public static int VALIDATE_INTEGER_PRECISION = 0;

		public static String DISPLAY_FORMAT_AMOUNT = getDecimalPlacesString(VALIDATE_AMOUNT_PRECISION);
		public static String DISPLAY_FORMAT_MEASUREMENT = getDecimalPlacesString(VALIDATE_MEASUREMENT_PRECISION);
		public static String DISPLAY_FORMAT_PRICE = getDecimalPlacesString(VALIDATE_PRICE_PRECISION);
		public static String DISPLAY_FORMAT_PERCENT = getDecimalPlacesString(VALIDATE_PERCENT_PRECISION);
		public static String DISPLAY_FORMAT_DECIMAL = getDecimalPlacesString(VALIDATE_DECIMAL_PRECISION);
		public static String DISPLAY_FORMAT_INTEGER = getDecimalPlacesString(VALIDATE_INTEGER_PRECISION);
		public static String DISPLAY_FORMAT_DECIMAL_NO_COM = getDecimalString(VALIDATE_DECIMAL_PRECISION);
		public static String DISPLAY_FORMAT_INTEGER_NO_COM = getDecimalString(VALIDATE_INTEGER_PRECISION);

		public static String getDecimalString(int numOfPlaces){
			String result = "######0";

			if(numOfPlaces == 0){
				return result;
			} else {
				result += ".";
			}

			for(int i = 0; i < numOfPlaces; i++){
				result += "0";
			}

			return result;
		}

		public static String getDecimalPlacesString(int numOfPlaces) {
            return getDecimalPlacesString(numOfPlaces, true);
		}

        public static String getDecimalPlacesString(int numOfPlaces, boolean thousandSeperator) {
            String result = (thousandSeperator) ? "#,###,##0" : "######0";

            if(numOfPlaces == 0){
                return result;
            } else {
                result += ".";
            }

            for(int i = 0; i < numOfPlaces; i++){
                result += "0";
            }

            return result;
        }

	}

    public static final class StereoType {
        public static final String AMOUNT = "amount";
        public static final String NDC_DATE = "ndcDate";
        public static final String USER = "user";
    }

    public static final String DB_STRING_QUALIFIER = "'";
    //Operation System Environment Variables, be very carefully when
    //dealing this kind of var, because it is not portable (ie. UNIX<>Windows)
    public static final String OS_ENV_VAR_SYS_LANG = "SYS_LANG";
    public static final String SYS_LANG_SET_BY_OS = "SYS_LANG_SET_BY_OS";
    public static final String SYS_LANG_SET_BY_LOCALE = "SYS_LANG_SET_BY_LOCALE";
    public static final String SESSION_SYSTEM_LANG = "SYSTEM_LANG";

    public static final String LANG_DEFAULT = "zh_tw";

    // Global Constants
    public static final boolean CHECK_TOKEN = true;
    public static final boolean CHECK_VERSION = true;

    // General Constants
    public static final String GENERIC_YES = "YES";
    public static final String GENERIC_NO = "NO";
    public static final String GENERIC_SUCCESS = "SUCCESS";
    public static final String GENERIC_ACTIVE = "ACTIVE";
    public static final String GENERIC_INACTIVE = "INACTIVE";
    public static final String ITEM_TASK_COMPLETE = "COMPLETE";
    public static final String ITEM_TASK_INCOMPLETE = "INCOMPLETE";
    public static final String GENERIC_PROSPECTIVE = "PROSPECTIVE";
    public static final String GENERIC_PRODUCTION = "PRODUCTION";
    public static final String CONSTANT_TYPE_ITEM_TASK_STATUS = "ITEM_TASK_STATUS";
    public static final String CONSTANT_TYPE_ACT_INACT = "ACT_INACT";
    public static final String CONSTANT_TYPE_YES_NO = "YES_NO";
    public static final String CONSTANT_TYPE_APPROVE_REJECT = "APPROVE_REJECT";

    public final static String GENERIC_1 = "1";


    // Java JDK Constants
    public static final String JAVA_VERSION_NO = "1.4";
    public static final String JAVA_VERSION_SYS_NAME = "java.specification.version";

    // Application Server Constants
    public static final String APP_SERVER_JBOSS = "JBoss";
    public static final String APP_SERVER_WEB_SPHERE = "WebSphere";
    public static final String SYS_APP_SERVER_TYPE = "APP_SERVER_TYPE";

    // Data Source Constants
    public static final String DATA_SOURCE_NAME = "jdbc/MSDS";

	//menu constants
    public static final String MENU_TYPE_MENU = "M";
    public static final String MENU_TYPE_ITEM = "W";

    public static final String DBMENU_GENERAL_MENU = "GENERAL_MENU";
    public static final String DBMENU_ADMIN_ROLE = "ADMIN";
    public static final String DBMENU_OBJECT_TYPE_BUTTON = "button";
    public static final String DBMENU_OBJECT_TYPE_LABEL = "label";
    public static final String DBMENU_OBJECT_TYPE_ERR_MSG = "err_msg";
    public static final String DBMENU_GENERAL_ERROR = "GENERAL_ERROR";

    // Database Constants
    public static final String DB_NIL = "NIL";
    public static final String DB_OP_INSERT = "INSERT";
    public static final String DB_OP_UPDATE = "UPDATE";
    public static final String DB_OP_DELETE = "DELETE";
    public static final String DB_OP_SELECT = "SELECT";

    // DB Special Field Constants
    public static final String CREATE_DATE_FIELD_NAME = "createDate";
    public static final String UPDATE_DATE_FIELD_NAME = "updateDate";
    public static final String PARTIAL_COLOR_FIELD_NAME = "color";
    public static final String PARTIAL_SIZ_FIELD_NAME = "siz";

    // Project Prefix Constants
    public static final String PROJECT_PREFIX = "MS";

    // Special Form Name Constants
    public static final String LOGIN_FORM_BEAN_NAME = "loginForm";
    public static final String DEBUG_FORM_BEAN_NAME = "changeDebugModeForm";
    public static final String LOG_LEVEL_FORM_BEAN_NAME = "changeLogLevelForm";

    // EJB Name Constants
    public static final String SIMPLE_BASE_SESSION_EJB = "ejb/erp/SimpleBaseSessionEjb";
    public static final String SIMPLE_SEARCH_MAINT_STYLE_EJB = "ejb/erp/SimpleSearchMaintStyleEjb";
    public static final String SIMPLE_PAGE_EDIT_STYLE_EJB = "ejb/erp/SimplePageEditStyleEjb";
    public static final String LOGGER_EJB = "ejb/erp/LoggerEjb";
//    public static final String SIMPLE_REPORT_EJB = "ejb/erp/SimpleReportEjb";

    // Data Access Security Constants
    public static final int SECURITY_LEVEL_1 = 1;
    public static final int SECURITY_LEVEL_2 = 2;
    public static final int SECURITY_LEVEL_SPECIAL_CASE_1 = 101;

    // Todo List Approval Security Constants
    public static final int APPROVAL_LEVEL_1 = 1;
    public static final int APPROVAL_LEVEL_2 = 2;

    // Search Constants
    public static final String SEARCH_MODE_NORMAL = "NORMAL";
    public static final String SEARCH_MODE_EXTENDED = "EXTENDED";

    // Menu Constants
    public static final String PARENT_MENU_MENU_TAB = "MENU_TAB";
    public static final String PARENT_MENU_ENQ_TAB = "ENQ_TAB";
    public static final String PARENT_MENU_TODO_LIST = "TODO_LIST";
    public static final String PARENT_MENU_ALERT_LIST = "ALERT_LIST";

    // File Types and Extension Constants
    public static final String CSV_DELIMITER = ",";
    public static final String FILE_TYPE_CSV = "CSV";
    public static final String FILE_TYPE_CSV_EXTENSION = ".csv";
    public static final String FILE_TYPE_TEXT = "TEXT";
    public static final String FILE_TYPE_TEXT_EXTENSION = ".txt";
    public static final String FILE_TYPE_PDF = "PDF";
    public static final String FILE_TYPE_PDF_EXTENSION = ".pdf";

    // Report Constants
    public static final String RPT_ANALYSIS_DATE_FORMAT = "ddMMyy";
    public static final String RPT_OUT_ANALYSIS_DATE_FORMAT = "dd/MMM/yyyy";
    public static final String RPT_ANALYSIS_DATE_LEN = "6";
    public static final boolean USE_DB_TRIGGER = false;
    public static final int DB_ROW_NUM = 500;
    public static final int EXCEL_ROW_NUM = 60000;
    public static final int TXT_ROW_NUM = 9000000;
    public static final int HTML_TXT_ROW_NUM = 1000;
    public static final int DB_ENQUIRY_ROW_NUM = 100;

    // Generic Inquiry Report Constants
    public static final int GENERIC_REPORT_TYPE_PAGE = 0;
    public static final int GENERIC_REPORT_TYPE_EXCEL = 1;
    public static final int GENERIC_REPORT_TYPE_PDF = 2;
    public static final int GENERIC_REPORT_TYPE_TXT = 3;
    public static final int GENERIC_REPORT_TYPE_TXT_SELECTED = 4;
    public static final int GENERIC_REPORT_TYPE_HTML_TXT = 5;
    public static final String GENERIC_INQUIRY_PARAM_RPT_TIME = "GENERIC_INQUIRY_PARAM_RPT_TIME";
    public static final String GENERIC_INQUIRY_PARAM_RESULT_LIST = "GENERIC_INQUIRY_PARAM_RESULT_LIST";
    public static final String GENERIC_INQUIRY_PARAM_FILENAME = "GENERIC_INQUIRY_PARAM_FILENAME";

    public final static String NUMBER_FORMAT = "#,###";
    public final static String NUMBER_FORMAT_0_PLACES = "#,###,##0";
    public final static String NUMBER_FORMAT_1_PLACES = "#,###,##0.0";
    public final static String NUMBER_FORMAT_2_PLACES = "#,###,##0.00";
    public final static String NUMBER_FORMAT_4_PLACES = "#,###,##0.0000";
    public final static String NUMBER_FORMAT_6_PLACES = "#,###,##0.000000";
    public final static int NUMBER_LENGTH = 17;
    public final static int NUMBER_PRECISION = 6;

//    public static final String ORACLE_INPUT_DATE_FORMAT = "MM/DD/YYYY";
//    public static final String ORACLE_INPUT_DATE_FORMAT = "dd/MM/yy";
    public static final String ORACLE_INPUT_DATE_FORMAT = "MM/dd/yy";
    public static final String ORACLE_INPUT_DATETIME_FORMAT = "MM/DD/YYYY HH24:MI";
    public static final String ORACLE_MONTHYEAR_DATE_FORMAT = "YYMM";

//    public static final String INPUT_DATE_FORMAT = "MM/dd/yyyy";
//    public static final String INPUT_DATE_FORMAT = "dd/MM/yy";
    public static final String INPUT_DATE_FORMAT = "MM/dd/yy";
    public static final int INPUT_DATE_LENGTH = INPUT_DATE_FORMAT.length();
    public static final String INPUT_DATE_FORMAT_2 = INPUT_DATE_FORMAT;
    public final static String INPUT_DATETIME_FORMAT = INPUT_DATE_FORMAT + " HH:mm";
    public static final String INPUT_MONTHYEAR_FORMAT = "MMM-yyyy";
    public static final String OUTPUT_DATE_FORMAT = INPUT_DATE_FORMAT;
    public final static String OUTPUT_DATETIME_FORMAT = INPUT_DATETIME_FORMAT;
    public static final String OUTPUT_MONTHYEAR_FORMAT = "MMM-yyyy";

    public static final String YEAR_FORMAT = "yyyy";
    public static final String MTH_FORMAT = "MM";
    public static final String DAY_FORMAT = "dd";

    public static final String RPT_DATE_FORMAT = OUTPUT_DATE_FORMAT;

    public final static Locale DEFAULT_LOCALE = Locale.US;
    public final static TimeZone DEFAULT_TIMEZONE = null;
    public static final String TIMEZONE = "Asia/Hong_Kong";

    // Form and Row Constants
    public static final String FORM_TYPE_SEARCH = "SEARCH";
    public static final String FORM_TYPE_USER = "USER";
    public static final String FORM_TYPE_MAINT = "MAINT";
    public static final String FORM_TYPE_PAGE_EDIT = "PAGE_EDIT";

    public static final String ROW_MODE_CREATE = "MODE_CREATE";
    public static final String ROW_MODE_MODIFY = "MODE_MODIFY";
    // Ric: A Creating row indicates a row which is added into row before changing into a Create Row. First used in Setup Module: Vendor
    public static final String ROW_MODE_CREATING = "MODE_CREATING";

    // Page Mode Constants
    public static final String PAGE_MODE_CREATE = "create";

    // Action Constants
    public static final String ACTION_ADD_ROW = "add";
    public static final String ACTION_ADD_MULTI_ROW = "addMulti";
    public static final String ACTION_DELETE_ROW = "del";
    public static final String ACTION_PURGE_ROW = "purgeRow";
    public static final String ACTION_COPY_ROW = "copyRow";
    public static final String ACTION_SAVE = "save";
    public static final String ACTION_SEARCH = "search";
    public static final String ACTION_CANCEL = "cancel";
    public static final String ACTION_EXIT = "exit";
    public static final String ACTION_SCROLL = "scroll";
    public static final String ACTION_CLEAR = "clear";
    public static final String ACTION_REFRESH = "refresh";
    public static final String ACTION_SCROLL_LEFT = "scrollLeft";
    public static final String ACTION_SCROLL_RIGHT = "scrollRight";
    public static final String ACTION_SCROLL_TO_FIRST_PAGE = "scrollToFirstPage";
    public static final String ACTION_SCROLL_TO_LAST_PAGE = "scrollToLastPage";
    public static final String ACTION_SCROLL_TO = "scrollTo";
    public static final String ACTION_EDIT = "edit";
    public static final String ACTION_CREATE = "create";
    public static final String ACTION_COPY = "copy";
    public static final String ACTION_DELETE = "delete";
    public static final String ACTION_PURGE = "purge";
    public static final String ACTION_CHANGE_FOLDER = "changeFolder";
    public static final String ACTION_BACK = "back";
    public static final String ACTION_PRINT = "print";
    public static final String ACTION_PRINT_FORM_PDF = "printFormPdf";
    public static final String ACTION_COMPLETE = "complete";
    public static final String ACTION_PRINT_ENG = "printEnglish";
    public static final String ACTION_PRINT_CHN = "printChinese";
    public static final String ACTION_ADD_DTL = "addDetail";
    public static final String ACTION_DEL_DTL = "delDetail";
    public static final String ACTION_ADD_SCHEDULE = "addSchedule";
    public static final String ACTION_DEL_SCHEDULE = "delSchedule";
    public static final String ACTION_ADD_STOCK = "addStock";
    public static final String ACTION_DEL_STOCK = "delStock";
	public static final String ACTION_ADD_PRODUCT = "addProduct";
	public static final String ACTION_DEL_PRODUCT = "delProduct";
    public static final String ACTION_ADD_CHARGES = "addCharges";
    public static final String ACTION_CHANGE_CHARGES = "changeCharges";
    public static final String ACTION_DEL_CHARGES = "delCharges";
    public static final String ACTION_ADD_ATTACH = "addAttach";
    public static final String ACTION_VIEW_ATTACH = "viewAttach";
    public static final String ACTION_DEL_ATTACH = "delAttach";
    public static final String ACTION_CHANGE_ATTACH = "changeAttach";
	public static final String ACTION_ADD_PACKING = "addPacking";
	public static final String ACTION_DEL_PACKING = "delPacking";
    public static final String ACTION_ADD_TASK = "addTask";
    public static final String ACTION_DEL_TASK = "delTask";
    public static final String ACTION_INCR_REVISION = "incrRevision";
    public static final String ACTION_SUBMIT = "submit";
    public static final String ACTION_CONFIRM = "confirm";
    public static final String ACTION_POST_TO_AC = "postToAc";
    public static final String ACTION_APPROVE = "approve";
    public static final String ACTION_DISAPPROVE = "disapprove";
    public static final String ACTION_REJECT = "reject";
    public static final String ACTION_SELECT_ALL = "selectAll";
    public static final String ACTION_DESELECT_ALL = "deselectAll";
    public static final String ACTION_SELECT = "select";
    public static final String ACTION_GEN_SO = "genSo";
    public static final String ACTION_GEN_PO = "genPo";
    public static final String ACTION_GEN_DN = "genDn";
    public static final String ACTION_GEN_GRN = "genGrn";
    public static final String ACTION_GEN_INV = "genInv";
    public static final String ACTION_GEN_PI = "genPi";
    public static final String ACTION_GEN_CN = "genCn";
    public static final String ACTION_GEN_SN = "genSn";
    public static final String ACTION_RETURN = "return";
    public static final String ACTION_REVISE = "revise";
    public static final String ACTION_CLOSE= "close";
    public static final String ACTION_DO_NOTHING = "doNothing";
    public static final String ACTION_SPEDIT = "SpEdit";
    public static final String ACTION_SELECT_FIELD = "selectField";
    public static final String ACTION_DESELECT_FIELD = "deselectField";

    //the following is to be removed.
    public static final String ACTION_TO_FIRST_PAGE = "actionToFirstPage";
	public static final String ACTION_TO_LAST_PAGE = "actionToLastPage";
	public static final String ACTION_TO_PAGE = "actionToPage";

//    public static final String ACTION_TA_EDIT = "textAreaEdit";

    // PDF Output Languange
    public static final String PRINT_ENGLISH = "PRINT_ENGLISH";
    public static final String PRINT_CHINESE = "PRINT_CHINESE";

    // Status Constants
    public static final String STATUS_COPY = "statusCopy";
    public static final String STATUS_CREATE = "create";
    public static final String STATUS_EDIT = "edit";
    public static final String STATUS_SAVED_EDIT = "saved-edit";
    public static final String STATUS_ADD_DTL = "addDetail_set";
    public static final String STATUS_ADD_CHARGES = "addCharges_set";
    public static final String STATUS_ADD_ATTACH = "addAttach_set";
    public static final String STATUS_VIEW_ATTACH = "viewAttach_set";
    public static final String STATUS_DEL_ATTACH = "delAttach_set";
    public static final String STATUS_SPSET = "sPSet";

    // JSP Constants
    public static final int MAX_DISPLAY = 20;
    public static final int MAX_SHORT_DISPLAY = 10;

    // Special Action Constants
    public static final String REQUEST_ATTRIB_KEY_READONLY = "READ_ONLY";
    public static final String REQUEST_ATTRIB_KEY_BACK_TO = "BACK_TO";
    public static final String AFTER_COPY_ACTION = "AFTER_COPY_ACTION";

    // others
    public static final int MAX_YEAR = 2099;
    public static final int MIN_YEAR = 1970;
    public static final int MAX_MONTH = 12;
    public static final int MIN_MONTH = 1;
    public static final int MAX_DAY = 31;
    public static final int MIN_DAY = 1;
    public static final int MAX_HOUR = 23;
    public static final int MIN_HOUR = 0;
    public static final int MAX_MINUTE = 59;
    public static final int MIN_MINUTE = 0;
    public static final int MAX_SECOND = 59;
    public static final int MIN_SECOND = 0;
    public static final int MAX_MILLISECOND = 999;
    public static final int MIN_MILLISECOND = 0;
    public static final int MAX_ERROR_DISPLAY_ROW = 3;
    public static String BYTE_ARRAY_CLASS_NAME = "[B";
    public static int MAX_DB_ROW = 500;

    public static final String MIN_FLAG = "MIN";
    public static final String MAX_FLAG = "MAX";
    public static final java.math.BigDecimal BIGDECIMAL_ZERO = new java.math.BigDecimal("0");
    public static final String STRING_ZERO = "0";

	//Chinese numerals
	public static final String CHI_ZERO="\u96f6";				//0
	public static final String CHI_ONE="\u58f9";				//1
	public static final String CHI_TWO="\u8cb3";				//2
	public static final String CHI_THREE="\u53c1";				//3
	//public static final String CHI_THREE="\u4e09";				//3
	public static final String CHI_FOUR="\u8086";				//4
	public static final String CHI_FIVE="\u4f0d";				//5
	public static final String CHI_SIX="\u9678";				//6
	public static final String CHI_SEVEN="\u67d2";				//7
	public static final String CHI_EIGHT="\u634c";				//8
	public static final String CHI_NINE="\u7396";				//9
	public static final String CHI_TEN="\u62fe";				//10
	public static final String CHI_HUNDRED="\u4f70";			//100
	public static final String CHI_THOUSAND="\u5343";			//1,000
	public static final String CHI_TEN_THOUSAND="\u842c";		//10,000
	public static final String CHI_HUNDRED_MILLION="\u5104";	//100,000,000
	public static final String CHI_TRILLION="\u5146";			//1,000,000,000,000

	public static final String CHI_NEGATIVE="\u8ca0";			//-
	public static final String CHI_DOLLAR="\u5713";				//YUEN
	public static final String CHI_ONLY="\u6b63";				//only
	public static final String CHI_TEN_CENT="\u6bdb";			//0.1
	public static final String CHI_CENT="\u5206";				//0.01

	public static final double EPSILON=0.000000000000000000001; //very small number

    public static final String FORWARD_GENERIC_SEARCH = "genericSearch";

    public static final String PP_SYS_LANG_SETTING = "PP_SYS_LANG_SETTING";

    public static final String MOD_MAIN_MENU = "MOD_MAIN_MENU";
    public static final String MOD_LOGOUT = "MOD_LOGOUT";

    public static final String SERVLET_ATTRIB_KEY_INIT_LOADED = "INIT_LOADED";
    public static final String SERVLET_ATTRIB_KEY_COMPANIES_LOGO = "COMPANIES_LOGO";
    public static final String SERVLET_ATTRIB_KEY_COMPANIES_BG = "COMPANIES_BG";
    public static final String IMAGE_TOP_BANNER_LOGO = "TOP_BANNER_LOGO";
    public static final String IMAGE_TOP_BANNER_BG = "TOP_BANNER_BG";

    public static final String[] A_TO_Z = {
        "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M",
        "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"
    };

//  Session Constants
    public static final String SESSION_DOC_NO = PROJECT_PREFIX + ".doc.no";
    public static final String SESSION_USER = PROJECT_PREFIX + ".login.user";
    public static final String SESSION_USER_DATA_ACCESS_SECURITY = PROJECT_PREFIX + "USER_DATA_ACCESS_SECURITY";
    public static final String SESSION_USER_APPROVAL_LIST = PROJECT_PREFIX + "USER_APPROVAL_LIST";
    public static final String SESSION_COMPANY_CODE = PROJECT_PREFIX + ".login.company_code";
    public static final String SESSION_COMPANY_TOP_BANNER_LOGO = ".login.company_top_banner_logo";
    public static final String SESSION_COMPANY_TOP_BANNER_BG = ".login.company_top_banner_bg";
    public static final String SESSION_SIMPLE_MAINT_STATUS = PROJECT_PREFIX + ".simple.maintenance.status";
    public static final String SESSION_SIMPLE_MASTERS_STATUS = PROJECT_PREFIX + ".simple.masters.status";
    public static final String SESSION_SIMPLE_MAINT_PK = PROJECT_PREFIX + ".simple.maintenance.pk";
    public static final String SESSION_SIMPLE_MAINT_INIT_MODEL = PROJECT_PREFIX + ".simple.maintenance.initialized_model";
    public static final String SESSION_SIMPLE_MAINT_EDIT_TYPE = PROJECT_PREFIX + ".simple.maintenance.edit_type";
    public static final String SESSION_SIMPLE_MAIN_FOLDER_IDX = PROJECT_PREFIX + ".simple.maintenance.folderIdx";
    public static final String SESSION_SIMPLE_SEARCH_STATUS = PROJECT_PREFIX + ".simple.search.status";
    public static final String SESSION_SIMPLE_USER_STATUS = PROJECT_PREFIX + ".simple.user.status";
    public static final String SESSION_SIMPLE_REPORT_STATUS = PROJECT_PREFIX + ".simple.report.status";
    public static final String SESSION_SIMPLE_SEARCH_RESET = PROJECT_PREFIX + ".simple.search.reset";
    public static final String SESSION_SIMPLE_REPORT_RESET = PROJECT_PREFIX + ".simple.report.reset";
    public static final String SESSION_SIMPLE_READ_ONLY = PROJECT_PREFIX + ".simple.readonly";
    public static final String SESSION_SIMPLE_HIDE_REMARK_MASTER = PROJECT_PREFIX + ".simple.hideRemarkMaster";
    public static final String SESSION_SIMPLE_HIDE_REMARK_DETAIL = PROJECT_PREFIX + ".simple.hideRemarkDetail";
    public static final String SESSION_SIMPLE_HIDE_REMARK_APPEND = PROJECT_PREFIX + ".simple.hideRemarkAppend";
    public static final String SESSION_ALERT_AFTER_SAVE = PROJECT_PREFIX + ".alertAfterSave";
    public static final String SESSION_ALERT_AFTER_DELETE = PROJECT_PREFIX + ".alertAfterDelete";
    public static final String SESSION_ALERT_AFTER_CONFIRM = PROJECT_PREFIX + ".alertAfterConfirm";
    public static final String SESSION_ALERT_AFTER_RELEASE = PROJECT_PREFIX + ".alertAfterRelease";
    public static final String SESSION_ALERT_AFTER_COMPLETE = PROJECT_PREFIX + ".alertAfterComplete";
    public static final String SESSION_ALERT_AFTER_SUBMIT = PROJECT_PREFIX + ".alertAfterSubmit";
    public static final String SESSION_ALERT_AFTER_GEN = PROJECT_PREFIX + ".alertAfterGen";
    public static final String SESSION_ALERT_AFTER_CANCEL = PROJECT_PREFIX + ".alertAfterCancel";
    public static final String SESSION_ALERT_AFTER_APPROVE = PROJECT_PREFIX + ".alertAfterApprove";
    public static final String SESSION_ALERT_AFTER_DISAPPROVE = PROJECT_PREFIX + ".alertAfterDisapprove";
    public static final String SESSION_ALERT_AFTER_REJECT = PROJECT_PREFIX + ".alertAfterReject";
    public static final String SESSION_ALERT_AFTER_HOLD = PROJECT_PREFIX + ".alertAfterHold";
    public static final String SESSION_ALERT_AFTER_SEND_EMAIL = PROJECT_PREFIX + ".alertAfterSendEmail";
    public static final String SESSION_ALERT_AFTER_POST = PROJECT_PREFIX + ".alertAfterPost";
    public static final String SESSION_COMMON_SEARCH_PARAMETERS = PROJECT_PREFIX + ".common.search.parameters";
    public static final String SESSION_SESSION_NAME = PROJECT_PREFIX + ".session.name";
    public static final String SESSION_SESSION_VALUE = PROJECT_PREFIX + ".session.value";
    public static final String SESSION_OPENER_PATH = PROJECT_PREFIX + ".opener.path";
    public static final String SESSION_EXCLUSIVE = PROJECT_PREFIX + ".exclusive";
    public static final String SESSION_AUTO_SEARCH = PROJECT_PREFIX + ".auto_search";
    public static final String SESSION_PAGE_EVENT_SRC = PROJECT_PREFIX + ".page_event_src";
    public static final String SESSION_SHOW_FROM_TO = PROJECT_PREFIX + ".show_from_to";
    public static final String SESSION_SHOW_SEARCH_BTN = PROJECT_PREFIX + ".show_search_btn";
    public static final String SESSION_SHOW_OK_CANCEL_BTN = PROJECT_PREFIX + ".show_ok_cancel_btn";
    public static final String SESSION_SHOW_SELECT_BOX = PROJECT_PREFIX + ".show_select_box";
    public static final String SESSION_CRITERIA_LIST = PROJECT_PREFIX + ".criteria.list";
    public static final String SESSION_CRITERIA_COLUMN_LIST = PROJECT_PREFIX + ".criteria.column.list";
    public static final String SESSION_CRITERIA_COLUMN_PROP = PROJECT_PREFIX + ".criteria.column.prop";
    public static final String SESSION_RESULT_TEXT_LIST = PROJECT_PREFIX + ".result.text.list";
    public static final String SESSION_RESULT_COLUMN_LIST = PROJECT_PREFIX + ".result.column.list";
    public static final String SESSION_RESULT_CUSTOM_COLUMN_ALIAS = PROJECT_PREFIX + ".result.custom.column.alias";
    public static final String SESSION_TABLE_PARAMS = PROJECT_PREFIX + ".table.params";
    public static final String SESSION_TABLE = PROJECT_PREFIX + ".table";
    public static final String SESSION_WHERE = PROJECT_PREFIX + ".where";
    public static final String SESSION_GROUPBY = PROJECT_PREFIX + ".groupBy";
    public static final String SESSION_ORDERBY = PROJECT_PREFIX + ".orderBy";
    public static final String SESSION_SELECTED_LIST = PROJECT_PREFIX + ".selected.list";
    public static final String SESSION_REMARK_TEXT_PARAMETERS = PROJECT_PREFIX + ".remark_text.parameters";
    public static final String SESSION_SELECT_REMARK_TEXT_PARAMETERS = PROJECT_PREFIX + ".select_remark_text.parameters";
    public static final String SESSION_KEY_LIST = PROJECT_PREFIX + ".key.list";
    public static final String SESSION_OTHER_PARAMS = PROJECT_PREFIX + ".other.params";
    public static final String SESSION_EVENTSRC = PROJECT_PREFIX + ".eventSrc";
    public static final String SESSION_SEARCH_CRITERIA_AUTOFILL_LIST = PROJECT_PREFIX + ".autofill.list";
    public static final String SESSION_SEARCH_CRITERIA_RESIZE_TO = PROJECT_PREFIX + ".resize.to";
    public static final String SESSION_MASTER_DELEGATE = PROJECT_PREFIX + "MASTER_DELEGATE";
    public static final String SESSION_SYS_PARAM = PROJECT_PREFIX + "SYS_PARAM";
    public static final String SESSION_PROJECT_PARAM = PROJECT_PREFIX + "PROJECT_PARAM";
    public static final String SESSION_EDIT_SELECTED_REMARK_MASTER = PROJECT_PREFIX + "SESSION_EDIT_SELECTED_REMARK_MASTER";

    public static final String SESSION_COMPANY_SHORTNAME = PROJECT_PREFIX + "COMPANY_SHORTNAME";
    public static final String SESSION_COMPANY_LONGNAME = PROJECT_PREFIX + "COMPANY_LONGNAME";

    public static final String SESSION_ALERT_AFTER_UPDATE = PROJECT_PREFIX + ".alertAfterUpdate";
    public static final String SESSION_UPLOAD_FILE_PARAM = PROJECT_PREFIX + ".upload_file.param";
    public static final String SESSION_UPLOAD_FILE_RETURN_FORM_FILE = PROJECT_PREFIX + ".upload_file.return_form_file";
    public static final String SESSION_UPLOAD_FILE_RETURN_PARAM = PROJECT_PREFIX + ".upload_file.return_param";
    public static final String SESSION_UPLOAD_FILE_SESSION_NAME = PROJECT_PREFIX + ".upload_file.session.name";
    public static final String SESSION_UPLOAD_FILE_SESSION_VALUE = PROJECT_PREFIX + ".upload_file.session.value";

    public static final String SESSION_ALERT_AFTER_UPDATE_PASSWORD = PROJECT_PREFIX + ".alertAfterUpdatePassword";

    public static final String SESSION_SIMPLE_FORM_READ_ONLY_SESSION_NAME = PROJECT_PREFIX + "form.read.only.session.name";
    public static final String SESSION_SIMPLE_FORM_READ_ONLY_CALLER_SESSION_NAME = PROJECT_PREFIX + "form.read.only.caller.session.name";

    public static final String REQUEST_FROMBEAN_NAME = "request.formBean";
    public static final String REQUEST_LOGOUT_IND = "request.logoutInd";
    public static final String REQUEST_PARAM_SKIP_MD = "skipMd";

    // BBA
    public static final String SESSION_BBA_LOGIN_SUCCESS = PROJECT_PREFIX + "BBA_LOGIN_SUCCESS";

	public final static String PDF_OUTPUT_DATE_FORMAT = "dd-MMM-yyyy";
	public final static String PDF_CURRENT_DATE_FORMAT = "dd-MMM-yyyy";
	public final static String PDF_CURRENT_TIME_FORMAT = "HH:mm:ss a";
	public final static String PDF_CURRENT_DATETIME_FORMAT = PDF_CURRENT_DATE_FORMAT + " " + PDF_CURRENT_TIME_FORMAT;

	// UI Constants
	public static final String UI_TYPE_TEXT = "text";
    public static final String UI_TYPE_TEXTAREA = "textarea";
    public static final String UI_TYPE_LABEL = "label";
    public static final String UI_TYPE_COMBOBOX = "combobox";
    public static final String UI_TYPE_BUTTON = "button";
    public static final String UI_TYPE_NAVIGATOR = "navigator";
    public static final String UI_TYPE_TAB = "tab";
    public static final String UI_TYPE_WRITE = "write";
    public static final String UI_TYPE_IMAGE = "image";
    public static final String UI_TYPE_SELECT_FIELD = "selectfield";
    public static final String UI_TYPE_GUIDE_INFO_PREFIX = "";
 

    // UI Constants
    public static final String UI_VISIBILITY_EDITABLE = "editable";
    public static final String UI_VISIBILITY_DISPLAYONLY = "displayOnly";
    public static final String UI_VISIBILITY_HIDDEN = "hidden";

    public static final String WEB_FIELD_TO_BE_GENERATED = "(To be Generated)";
    public static final String WEB_FIELD_DATE_FORMAT_LABEL = "(" + SimpleConstants.INPUT_DATE_FORMAT.toUpperCase() + ")";
    
    public static final String SESSION_ADD_ATTACH_EVENT_SRC = PROJECT_PREFIX + ".addAttachEventSrc";
    
    public static final String SESSION_POPUP_STYLE_TASK_PARAMS = PROJECT_PREFIX + ".popupStyleTaskParams";
    public static final String SESSION_POPUP_STYLE_TASK_SESSION_NAME = PROJECT_PREFIX + ".popupStyleTaskSessionName";
    public static final String SESSION_POPUP_STYLE_TASK_SESSION_VALUE = PROJECT_PREFIX + ".popupStyleTaskSessionValue";
    public static final String SESSION_POPUP_STYLE_TASK_OBJECT_IDX = PROJECT_PREFIX + ".popupStyleTaskObjectIdx";
    public static final String SESSION_POPUP_STYLE_TASK_RETURN_PARAMS = PROJECT_PREFIX + ".popupStyleTaskReturnParams";
    public static final String SESSION_POPUP_STYLE_TASK_STATUS = PROJECT_PREFIX + ".popupStyleTaskStatus";
    public static final String SESSION_POPUP_STYLE_TASK_DATE = PROJECT_PREFIX + ".popupStyleTaskDate";
    public static final String SESSION_POPUP_STYLE_TASK_DATE_COMPARE_STATUS = PROJECT_PREFIX + ".popupStyleTaskDateCompareStatus";
    public static final String SESSION_POPUP_STYLE_TASK_SP_MSG = PROJECT_PREFIX + ".popupStyleTaskSpMsg";
    
    public static final String SESSION_POPUP_MULTI_STYLE_TASK_PARAMS = PROJECT_PREFIX + ".popupMultiStyleTaskParams";
    public static final String SESSION_POPUP_MULTI_STYLE_TASK_SESSION_NAME = PROJECT_PREFIX + ".popupMultiStyleTaskSessionName";
    public static final String SESSION_POPUP_MULTI_STYLE_TASK_SESSION_VALUE = PROJECT_PREFIX + ".popupMultiStyleTaskSessionValue";
    public static final String SESSION_POPUP_MULTI_STYLE_TASK_TASK_CODE = PROJECT_PREFIX + ".popupMultiStyleTaskTaskCode";
    public static final String SESSION_POPUP_MULTI_STYLE_TASK_TASK_LINE_NO = PROJECT_PREFIX + ".popupMultiStyleTaskTaskLineNo";
    public static final String SESSION_POPUP_MULTI_STYLE_TASK_READONLY = PROJECT_PREFIX + ".popupMultiStyleTaskReadonly";

    //Fabric Task
    public static final String SESSION_POPUP_FABRIC_TASK_PARAMS = PROJECT_PREFIX + ".popupFabricTaskParams";
    public static final String SESSION_POPUP_FABRIC_TASK_SESSION_NAME = PROJECT_PREFIX + ".popupFabricTaskSessionName";
    public static final String SESSION_POPUP_FABRIC_TASK_SESSION_VALUE = PROJECT_PREFIX + ".popupFabricTaskSessionValue";
    public static final String SESSION_POPUP_FABRIC_TASK_OBJECT_IDX = PROJECT_PREFIX + ".popupFabricTaskObjectIdx";
    public static final String SESSION_POPUP_FABRIC_TASK_RETURN_PARAMS = PROJECT_PREFIX + ".popupFabricTaskReturnParams";
    public static final String SESSION_POPUP_FABRIC_TASK_STATUS = PROJECT_PREFIX + ".popupFabricTaskStatus";
    public static final String SESSION_POPUP_FABRIC_TASK_DATE = PROJECT_PREFIX + ".popupFabricTaskDate";
    public static final String SESSION_POPUP_FABRIC_TASK_DATE_COMPARE_STATUS = PROJECT_PREFIX + ".popupFabricTaskDateCompareStatus";
    public static final String SESSION_POPUP_FABRIC_TASK_SP_MSG = PROJECT_PREFIX + ".popupFabricTaskSpMsg";
    
    public static final String SESSION_POPUP_EDIT_PROJ_STYLE = PROJECT_PREFIX + ".popupEditProjStyle";
    public static final String SESSION_POPUP_EDIT_PROJ_STYLE_FABRIC = PROJECT_PREFIX + ".popupEditProjStyleFabric";
    public static final String SESSION_POPUP_EDIT_PROJ_STATUS = PROJECT_PREFIX + ".popupEditProjStatus";
    public static final String SESSION_POPUP_STYLE_FABRIC_COLOR_SAVE = PROJECT_PREFIX + ".styleFabricColorSave";
    
    
}